package my_IO;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;

public class MyFileTest {

//    File对象只是一个引用，它可能指向一个存在的文件，也可能指向一个不存在的文件，
//    并且File对象不但可以表示某个文件，也可以表示某个目录。


    //File值为文件
    public void testFile(String path){

        // 根据路径字符串创建一个File对象
        File file = new File(path);
        // 如果文件不存在，则创建一个
        if (!file.exists()) {
            try {
                System.out.println("文件不存在则创建");
                file.createNewFile();
            } catch (IOException e) {
                System.out.println("文件创建异常");
                e.printStackTrace();
            }
        }
        System.out.println("文件是否存在：" + file.exists());
        System.out.println("是文件吗：" + file.isFile());
        System.out.println("是目录吗：" + file.isDirectory());
        System.out.println("名称：" + file.getName());
        System.out.println("路径：" + file.getPath());
        System.out.println("绝对路径：" + file.getAbsolutePath());
        System.out.println("最后修改时间：" + new Date(file.lastModified()).toString());
        System.out.println("文件大小：" + file.length());

    }

    //File值为目录
    public void testCatalog(String path){
        File file = new File(path);
        String[] list=file.list();
        for (String s:list
             ) {
            System.out.println(s);
        }
        File[] listFiles=file.listFiles();
        for (File f:listFiles
             ) {
            System.out.println(f);
        }
    }

    public void testProperties(String path){
        String filename =  "xxx.txt";
        Properties properties = new Properties();
        try {
            properties.load(new FileInputStream(filename));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("Warning: " + filename + " is not found.");
        }
    }

    public static void main(String[] args) {
        MyFileTest m=new MyFileTest();

//        //一次执行报错，之后没问题，
//        String path1="d:\\develop\\test\\test.txt";
//        m.testFile(path1);

        String path2="d:\\develop\\test";
        m.testCatalog(path2);


    }
}
